iT邦幫忙

2024 iThome 鐵人賽

DAY 23
0

TabLayout是用來實現選單的UI元件,它通常會ViewPager2搭配使用
xml檔裡要抓這個元件的話,只需要點擊搜尋TabLayout(其實只要打到Tab就會出來了),像這樣
https://ithelp.ithome.com.tw/upload/images/20241001/20168456qPCdUYwwoh.png
接著只需要將TabLayout拉到xml中就好了
改成這樣
https://ithelp.ithome.com.tw/upload/images/20241001/20168456pL7PDyycSN.png
預覽的地方會變成這樣
https://ithelp.ithome.com.tw/upload/images/20241001/201684564dW2Wr2QB3.png

接下來來介紹TabLayout的一些常用屬性(前面全是app:開頭)

  1. TabMode是用來設定標籤的佈局模式的

    • scrollable:讓TabItem可以變成水平滾動,適合數量多或每個TabItem的寬度較大的情況
    • 這樣說可能有點難懂,所以這是實際使用的樣子
      https://ithelp.ithome.com.tw/upload/images/20241001/20168456IJBgoCEtcy.png
      往左滑可以看到更多被裁掉的TabItem
      https://ithelp.ithome.com.tw/upload/images/20241001/201684562nFl2jpxxO.png
    • fixed:適合數量少的TabItem,它會固定TabItem不動並平均分配所有TabItem的寬度
      https://ithelp.ithome.com.tw/upload/images/20241001/20168456ETxf4BuJZM.png
  2. TabGravity用來控制TabItem的排列方式

    • fill:TabItem會填滿整個可用空間,通常與TabMode的fixed屬性一起使用
    • center:TabItem會集中排列,不會填滿整個可用空間
    • start:和center基本一樣
      • startcenter的樣子
        https://ithelp.ithome.com.tw/upload/images/20241001/20168456hZRCd02dTo.png
      • fill的樣子
        https://ithelp.ithome.com.tw/upload/images/20241001/20168456btPToaRo4m.png
  3. TabIndicatorColor用來設定TabItem下方那一條(指示器)的顏色,用來表現當前選中的TabItem
    https://ithelp.ithome.com.tw/upload/images/20241001/20168456n7XYFDk6q3.png

  4. TabIndicatorHeight可以用來設定TabItem下方指示器的高度
    https://ithelp.ithome.com.tw/upload/images/20241001/20168456qi0zbzun0T.png

  5. TabTextColor可以用來設定TabItem標題文字的顏色
    https://ithelp.ithome.com.tw/upload/images/20241001/20168456s4nabjLWae.png

  6. TabSelectedTextColor可以用來設定選中的TabItem標題的文字顏色
    (未選中的TabItem顏色會保持原樣)
    https://ithelp.ithome.com.tw/upload/images/20241001/201684562eaSZzbPba.png

  7. TabBackground可以用來設定TabItem的背景圖片或顏色
    https://ithelp.ithome.com.tw/upload/images/20241001/20168456ONgjdEr9Eo.png

  8. TabPadding有分為StartEnd
    TabPaddingStartTabPaddingEnd分別是用來設定TabItem左右兩側的內距

    • TabPaddingStart
      https://ithelp.ithome.com.tw/upload/images/20241001/20168456AlyppFVb7d.png
    • TabPaddingEnd
      https://ithelp.ithome.com.tw/upload/images/20241001/201684568LVyeFfTxS.png
  9. TabMinWidth可以用來設定TabItem的最小寬度

  10. TabMaxWidthTabMinWidth相反,是用來設定TabItem的最大寬度的

  11. TabIndicatorFullWidth可以用來控制指示器是否佔滿整個TabItem的寬度

    • True
      https://ithelp.ithome.com.tw/upload/images/20241001/20168456r8LK0nFO9p.png
    • 預設
      https://ithelp.ithome.com.tw/upload/images/20241001/201684569XAiXEMAQM.png

TabLayout的屬性介紹差不多就到這裡
下篇會開始介紹TabLayout+ViewPager2


上一篇
[Day 22] Fragment簡單介紹
下一篇
[Day 24] TabLayout+ViewPager2介紹(上)
系列文
深入Android Java程式語言 - 打造我的行動應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言